Client devices such as personal computers (PCs) capable of network connection have become widespread. Along with the widespread use of the devices, the network population of the Internet is increasing. Various services using the Internet have recently been developed for the network users, and there are also provided entertainment services such as games.
One of the services for the network users is a multiuser online network game such as MMORPG (Massively Multiplayer Online Role-Playing Game). In the multiuser online network game, a user connects his/her client device in use to a server that provides the game, thereby doing match-up play or team play with another user who uses another client device connected to the server.
In a general multiuser online network game, each client device sends/receives data necessary for game rendering to/from the server. The client device performs rendering processing using the received data necessary for rendering and presents the generated game screen to a display device connected to the client device, thereby providing the game screen to the user. Information the user has input by operating an input interface is sent to the server and used for calculation processing in the server or transmitted to another client device connected to the server.
However, some network games that cause a client device to perform rendering processing require a user to use a PC having sufficient rendering performance or a dedicated game device. For this reason, the number of users of a network game (one game) depends on the performance of the client device required by the game. A high-performance device is expensive, as a matter of course, and the number of users who can own the device is limited. That is, it is difficult to increase the number of users of a game that requires high rendering performance, for example, a game that provides beautiful graphics.
In recent years, however, there are also provided games playable by a user without depending on the processing capability such as rendering performance of a client device. In a game as described in International Publication No. 2009/138878, a server acquires the information of an operation caused in a client device and provides, to the client device, a game screen obtained by performing rendering processing using the information.
Regarding games consoles for home use, among conventional games, there are cases in which static data is used in the game process of the game. In these cases, by reading the static data out of a storage medium and loading the static data into the memory of the game console, the static data becomes usable. For example, in rendering processing, there are cases in which the same model data is arranged multiple times within the screen, and cases in which the same model data is used repetitively over consecutive frames. For this reason, the static data, that is loaded into the memory, is temporarily retained and reused.
On the other hand, in games like International Publication No. 2009/138878, in order to provide game screens to each connected client device, the server processes the game for each client device independently even when the game is identical. In this case, because there are a large number of client devices connected to the server, memory is not provided to be used for the loading of static data for each individual client device. In other words, memory is shared between the game processes of multiple client devices.
However, when multiple game processes share memory for identical games in this way, the same static data gets loaded into memory multiple times. In other words, for games like International Publication No. 2009/138878, a game process for one client device had no way of knowing whether static data that it is to use had already been loaded into memory by the game process for another client device. In other words, multiple game processes that is performed processing independently have not to date been sharing static data that is loaded into memory.